html,
body {
	height: 100%;
	padding: 0;
	margin: 0;
}

body {
	background: #aaa;
	font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

.js-transitions-disabled * {
	-webkit-transition: none !important;
	transition: none !important;
}

.carousel {
	position: relative;
	height: 100%;
	overflow: hidden;
	-webkit-perspective: 50vw;
	perspective: 50vw;
	-webkit-perspective-origin: 50% 50%;
	perspective-origin: 50% 50%;
}

.buttonBox{
	position: fixed;
	z-index: 1;
}
#centerBox{
	height: 90px;
	width: 40px;
	left: 50%;
	margin-left: -20px;
	top: 50%;
	margin-top: -40px;
}
#rightBottomBox{
	width: 60px;
	height: 60px;
	right: 0;
	bottom: 0;
	/*background: red;*/
}
.button {
	margin-bottom: 5px;
	width: 40px;
	height: 40px;
	border-radius: 20px;
	text-align: center;
	background: #fff;
	color: #fff;
	opacity: 0.8;
	box-sizing: border-box;
	padding-top: 10px;
}
.button:hover{
	opacity: 1;
}
.bgRed{
	background: red;
}
.bgRed:active{
	margin-left: -2px;
}
.bgRed:hover{
	background: #fff;
	color: red;
}
.bgGray{
	background: #aaa;	
}
.bgGray:hover{
	background: #fff;
	color: #aaa;
}
.bgGray:active{
	margin-left: 2px;
}
.bgBlue{
	width: 60px;
	height: 60px;
	border-radius: 60px;
	background: #29f;
	margin: 0 auto;
	position: relative;
	font-size: 22px;
	bottom: -30%;
	right: -30%;
	opacity: 1;
	box-sizing: border-box;
	padding-top: 20px;
}
.bgBlue:active{
	margin-top: 2px;
}

.carousel__stage {
	position: absolute;
	top: 20px;
	bottom: 20px;
	left: 20px;
	right: 20px;
	margin: auto;
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
	-webkit-transform: translateZ(calc(-50vh + 20px));
	transform: translateZ(calc(-50vh + 20px));
}

.spinner {
	position: absolute;
	width: calc(50vw - (20px));
	height: calc(100vh - 40px);
	top: 0;
	left: 0;
	right: auto;
	bottom: 0;
	margin: auto;
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
	-webkit-transition: -webkit-transform 1s;
	transition: -webkit-transform 1s;
	transition: transform 1s;
	transition: transform 1s, -webkit-transform 1s;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transform-origin: 50% 50%;
	transform-origin: 50% 50%;
	-webkit-transform: rotateX(0);
	transform: rotateX(0);
}

.js-spin-fwd .spinner {
	-webkit-transform: rotateX(-90deg);
	transform: rotateX(-90deg);
}

.js-spin-bwd .spinner {
	-webkit-transform: rotateX(90deg);
	transform: rotateX(90deg);
}

.js-spin-fwd .spinner--right {
	-webkit-transform: rotateX(90deg);
	transform: rotateX(90deg);
}

.js-spin-bwd .spinner--right {
	-webkit-transform: rotateX(-90deg);
	transform: rotateX(-90deg);
}

.spinner--right {
	right: 0;
	left: auto;
}

.spinner__face {
	display: none;
	position: absolute;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.spinner__face.js-next {
	display: block;
	-webkit-transform: rotateX(90deg) translateZ(calc(50vh - 20px));
	transform: rotateX(90deg) translateZ(calc(50vh - 20px));
}

.spinner--right .spinner__face.js-next {
	-webkit-transform: rotateX(270deg) translateZ(calc(50vh - 20px));
	transform: rotateX(270deg) translateZ(calc(50vh - 20px));
}

.js-spin-bwd .spinner__face.js-next {
	-webkit-transform: rotateX(-90deg) translateZ(calc(50vh - 20px));
	transform: rotateX(-90deg) translateZ(calc(50vh - 20px));
}

.js-spin-bwd .spinner--right .spinner__face.js-next {
	-webkit-transform: rotateX(-270deg) translateZ(calc(50vh - 20px));
	transform: rotateX(-270deg) translateZ(calc(50vh - 20px));
}

.js-active {
	display: block;
	-webkit-transform: translateZ(calc(50vh - 20px));
	transform: translateZ(calc(50vh - 20px));
}

.content {
	position: absolute;
	width: 200%;
	height: 100%;
	left: 0;
}

.spinner--right .content {
	left: -100%;
}

.content__left,
.content__right {
	position: absolute;
	left: 0;
	top: 0;
	width: 50%;
	height: 100%;
}

.content__right {
	right: 0;
	left: auto;
}

.content__left {
	background-repeat: no-repeat;
	background-size: cover;
}

.content__left:after {
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.1);
}

.content__left h1 {
	position: absolute;
	top: 50%;
	margin-top: -3vw;
	text-align: center;
	font-family: oswald;
	font-size: 5vw;
	height: 10vw;
	opacity: 1;
	color: #fff;
	width: 100%;
	letter-spacing: 0.15em;
	line-height: 0.6;
}

.content__left span {
	font-size: 1vw;
	font-weight: 300;
	letter-spacing: 0.2em;
	opacity: 0.9;
	font-family: Merriweather;
}

.content__right {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.content__right .content__main {
	font-family: Merriweather, serif;
	text-align: left;
	color: #fff;
	font-size: 1.3vw;
	padding: 0 8vw;
	line-height: 1.65;
	font-weight: 500;
	margin: 0;
	opacity: 0.8;
}

.content__right .content__main p:last-child {
	text-transform: uppercase;
	letter-spacing: 0.15em;
	font-size: 0.85em;
}

.spinner--right [data-type="now"] .content__left {
	background-image: none;
}


.spinner--right [data-type="next"] .content__left {
	background-image: none;
}

#mask{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1;
	opacity: 0;
	text-align: center;
	line-height: 250%;
	color: red;
	display: none;
}